Cloud gaming is facilitated by a system of networked servers that are accessible to users via the Internet. The servers host multiple users' gaming sessions. Typically, a user is assigned a virtual server or a physical server for hosting the user's game play. Many games are complex and may last indefinite periods of time. Often a user will pause his game to allow the user to take a break for many different reasons.
The game typically includes periodic, predefined stop points programmed into the game. For example, a predefined stop point is often at the end of each scene or level of action in a game. At these predefined stopping points, the games will save data from the game play, such as levels reached, achievements obtained, and perform other housekeeping functions. If the user wishes to play the game further, either after the stopping point or another later point in time, the game system will restart or re-launch the game, e.g., at a next level or stage. If the user wishes to pause the game, the game can be paused, but the game machine will need to stay frozen waiting for further user input. This, of course, if the user wishes to take a short break. However, if the user wishes to pause and stop playing for a while, it is inefficient and impractical for the game machine to continue spinning for hours or days, waiting for the user to resume.
The content of the game between the predefined pause points includes unique, complex, interactive, graphics and action that are unique to that user's specific instance of play. The unique, complex, interactive, graphics and action are embodied in a multitude of different, unique, game state data. Saving game play in one of the unique, complex, interactive, graphics and action points in the game is correspondingly complex and often prevented by various hardware and software version incompatibilities.
As noted above, pausing the cloud gaming server hosting the user's game play could be done, however, that unnecessarily consumes cloud gaming server time and energy and also prevents any other user from using the cloud gaming server while the paused user's game play is paused. Further, if the user never resumes his game play, the server would be dedicated to a user that is never returning. As a result, current technology limits pausing game play to the predefined stop points.
Additionally, if a user stops game play at a point in the game that is before stopping points (i.e., end of the battle, end of the level, end of the scene, etc.), game play may be reset to the last saved stop point (i.e., state before the level started). This reset erases the user's game play between the most recently passed predefined stop point.
It is in this context that embodiments of the invention arise.